Automatically Partitioning Threads Based on Remote Paths

نویسندگان

  • Xinan Tang
  • Guang R. Gao
چکیده

In order to program multithreaded architectures e ectively compiler support to automatically partition programs into threads is essential. This paper proposes a remote-path based thread partitioning framework, which can generate low-level threads from procedural programs automatically. The framework has been implemented in the EARTH-C compiler, which uses Data Dependence Graph (DDG) as an intermediate representation for thread partitioning. To make the compiler work fast, a practical O(n2) algorithm is designed to build non-redundant DDG. To generate correct and e cient threaded code, the remote-path heuristic is employed to satisfy thread partitioning constraints and schedule threads to run fast. The experimental results show that the DDG building algorithm is fast and the remote path based heuristic is very e ective in partitioning programs into \optimized" threads.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Single-Point Visibility Constraint Minimum Link Paths in Simple Polygons

We address the following problem: Given a simple polygon $P$ with $n$ vertices and two points $s$ and $t$ inside it, find a minimum link path between them such that a given target point $q$ is visible from at least one point on the path. The method is based on partitioning a portion of $P$ into a number of faces of equal link distance from a source point. This partitioning is essentially a shor...

متن کامل

Parallel Model Execution on Many Cores

Modelica gives the possibility to compose more and more detailed models since model components can be reused. This means that simulation needs to be faster. One possibility is then to use multi-core technology. Recent advances with more than 1000 cores show the potential. The problem is then how to utilize this enormous processing power in a user friendly way. Partitioning needs to be made auto...

متن کامل

Partitioning non-strict languages for multi-threaded code generation

In a non-strict language, functions may return values before their arguments are available, and data structures may be defined before all their components are defined. Compiling such languages to conventional hardware is not straightforward; instructions do not have a fixed compile time ordering. Such an ordering is necessary to execute programs efficiently on current microprocessors. Partition...

متن کامل

Compiling Dataaow into Threads Eecient Compiler-controlled Multithreading for Lenient Parallel Languages Compiling Dataaow into Threads Eecient Compiler-controlled Multithreading for Lenient Parallel Languages Compiling Dataaow into Threads Eecient Compiler-controlled Multithreading for Lenient Parallel Languages

Powerful non-strict parallel languages require fast dynamic scheduling. This thesis explores how the need for multithreaded execution can be addressed as a compilation problem, to achieve switching rates approaching what hardware mechanisms might provide. Compiler-controlled multithreading is examined through compilation of a lenient parallel language, ID90, for a threaded abstract machine, TAM...

متن کامل

Divide and conquer partitioning techniques for smart water networks

Inserting remote control valves in a water distribution system allows the implementation of the “divide and conquer” paradigm that consists in dividing a large network into smaller subsystems, also called water network partitioning (WNP), for applying water balance, pressure control and water quality protection. Some heuristic procedures, based on different techniques (graph theory, clustering,...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1998